// task_result.h
#ifndef TASK_RESULT_H_
#define TASK_RESULT_H_

#include <cstdint>
#include <vector>

/// Represents a task for matrix multiplication.
struct Task {
  std::int32_t row_index;                    ///< Index of the row in matrix A.
  std::vector<std::int32_t> row;             ///< A row from matrix A.
  std::vector<std::vector<std::int32_t>> B;  ///< Matrix B.
};

/// Represents the result of a matrix multiplication task.
struct Result {
  std::int32_t row_index;                ///< Index of the row in matrix C.
  std::vector<std::int32_t> result_row;  ///< Computed row for matrix C.
};

#endif  // TASK_RESULT_H_
